home *** CD-ROM | disk | FTP | other *** search
/ Light ROM 4 / Light ROM 4 - Disc 1.iso / text / maillist / 1996 / 032296.doc / 000080_dwarner@webcom.com _Sun Mar 24 13:56:29 1996.msg < prev    next >
Internet Message Format  |  1996-04-02  |  5KB

  1. Received: from e55.webcom.com (e55.webcom.com [206.2.192.66]) by keeper.albany.net (8.7.5/8.7.5-MZ) with ESMTP id NAA01761 for <DWARNER@ALBANY.NET>; Sun, 24 Mar 1996 13:56:27 -0500 (EST)
  2. Received: from localhost by e55.webcom.com with SMTP
  3.     (1.37.109.15/16.2) id AA057893727; Sun, 24 Mar 1996 10:55:27 -0800
  4. Date: Sun, 24 Mar 1996 10:55:27 -0800
  5. Errors-To: dwarner@ALBANY.NET
  6. Message-Id: <960324134311_176504695@emout06.mail.aol.com>
  7. Errors-To: dwarner@ALBANY.NET
  8. Reply-To: lightwave@garcia.com
  9. Originator: lightwave@garcia.com
  10. Sender: lightwave@garcia.com
  11. Precedence: bulk
  12. From: JBooth411@aol.com
  13. To: lightwave@e55.webcom.com
  14. Subject: Re: Collision Detection
  15. X-Listprocessor-Version: 6.0c -- ListProcessor by Anastasios Kotsikonas
  16. Status: RO
  17. X-Status: 
  18.  
  19. In a message dated 96-03-23 23:16:09 EST, you write:
  20.  
  21. >And the results often occur where the character or object is suddenly in 
  22. >the air or partially buried.
  23. >  Is there some specific reason why object/surface collision detection is 
  24. >so hard to implement in 3D vs. 2D?  In video games, it is really trivial 
  25. >to detect collisions between sprites and backgrounds or other sprites.  I 
  26. >would think, from my limited programming skills, that since a surface 
  27. >exists in 3-dimensional coordinates and the object exists in 3d 
  28. >coordinates, that it would not be difficult to have a routine where a set 
  29. >of points coincides with another set of points.
  30.  
  31.      Well, let me see. First, 3d collision is a little more tricky than
  32. sprite collision, but implementing it is fairly easy - we have a real time
  33. physics engine in our 3d environment now. Anyway, the main problems I see
  34. with a solution like this is not so much detecting the collision, but knowing
  35. what to do after you've found it. For example, take a person walking across a
  36. rolling hilly landscape (my favorite kind..). First, you'd have to define
  37. what is important to check against, and what is not. (Say, the ground, the
  38. particle grass, or a rock..). Does the player walk on top of the grass? no,
  39. he should trample it because of his weight. So say grass isn't in the
  40. picture, to make it easier. Now you still have the problem of what to do with
  41. your feet when you hit the ground. Should the walk cycle just be raised up if
  42. he hits the ground? No, he should change his walk cycle to walk up the hill,
  43. not just float higher. Yet, for something like a vehicle, you wouldn't want
  44. to change the "walk" cycle, but just rotate the vehicle.. The number of
  45. problems you run into is more than you might think. Although many programs
  46. have overcome these problems, and eventualy lightwave will too. Real3d, for
  47. instance, alows you to assign rules to your objects and then it will
  48. calculate how they should react to the landscape..
  49.  
  50. >  I notice most animators try to avoid close-ups with this type of 
  51. >situation (unless the surface is flat) by moving to shots of the upper 
  52. >torso or use long-distance shots where the lack of contact with the 
  53. >ground is not so noticeable.
  54.  
  55.      And don't forget the slidding feet sindrome.. PLEASE - will someone hint
  56. to allen that the IK chains should go both ways! I should be able to move the
  57. foot, and have the leg ajust, and I should also be able to lock down the
  58. foot, and move the body, having the leg ajust..
  59.  
  60. >  I suppose programs like Impact are there to deal with this but is there 
  61. >some reason why Lightwave doesn't have this capability built-in? Or is it 
  62. >there in the envelope map and I just haven't figured out how to use it?
  63.  
  64.       Impact would help, but not on something like a human walk cycle, for
  65. sure. Every step would require modification of the animation to make it
  66. perfect..
  67.      Perhaps I can suggest a workaround, to hold you off untill these types
  68. of things are implemented.. Of the top of my head, try something like this..
  69.  
  70.      Load your landscape into modeler, Create a plane, or series of plains,
  71. which are verticle, and intersect with your landscape in the direction(s) of
  72. your walking animation. Booleen subtract the landscape from the plain,
  73. leaving just the plane, with the path your object will travel in the bottom
  74. of the plane. 
  75.     Now, remove the polygon leaving just the points. Next, link up the points
  76. as a series of 2 point polygons (lines). 
  77.     Next, remove the polygon, leaving only the points. Select the points in
  78. the direction of the walk path, and create a spline. Run the path2motion
  79. plugin (or arexx macro) on it. Save out your motion. 
  80.     Go into layout, parent your walking man to a null object, and load the
  81. motion you saved in modeler into your null object. You'll probrobly have to
  82. scale the motion so he moves at the correct speed across the landscape. Then,
  83. change all the spline tentions to linear. 
  84.     Next, parent that null to a new null object, call it man_ajust or
  85. something. Then go to each keyframe, and ajust the mans rotation so he walks
  86. up or down the landscape corectly. You may have to tweak some in-between
  87. frames, but basicaly you man will walk across the landscape and not slip
  88. though it, or float above it..
  89.      Geeze.. maybe I should have just done this myself (to see if it works)
  90. and written a LWpro tutorial.. oh well..
  91.  
  92.     Hope this helps.. Oh, it's much easier with something like a vehicle..
  93.